Embeddable web application agent

ABSTRACT

In one example embodiment, a code segment may be embedded in a web page by a web page publisher, and the code segment may be executed at least in part by a user computing platform. Information related to one or more web applications may be provided to the user computing platform at least in part in response to the user computing platform executing the code segment.

This patent application is being concurrently filed with U.S. patentapplication Ser. No. 12/200,545, titled “Multiple Views for WebApplications Across Multiple Endpoints,” filed on Aug. 28, 2008, by Gibbet al.; and U.S. patent application Ser. No. 12/200,783, titled“Contextually Aware Web Application,” filed on Aug. 28, 2008, by Engelet al.; both of which are assigned to the assignee of currently claimedsubject matter and incorporated by reference in their entirety.

FIELD

Subject matter disclosed herein may relate to a web applicationexecution platform, and more particularly to a code segment embedded ina web page and executed on a user computing platform.

BACKGROUND

With networks such as the Internet gaining tremendous popularity, andwith the vast multitude of pages and/or other documents and/or othermedia content becoming available to users via the World Wide Web (web),it has become desirable for some web page publishers to implementapplication execution environments to allow users to run applicationsvia the publisher's web site, and to entice users to visit the sites.Such application execution environments may comprise “stand alone”environments, with the web page publisher performing page assembly aswell as performing back-end integration with data storage, socialinformation, etc.

BRIEF DESCRIPTION OF THE FIGURES

Claimed subject matter is particularly pointed out and distinctlyclaimed in the concluding portion of the specification. However, both asto organization and/or method of operation, together with objects,features, and/or advantages thereof, it may best be understood byreference to the following detailed description when read with theaccompanying drawings in which:

FIG. 1 is a diagram illustrating an example system including anapplication platform and a web page publisher in accordance with one ormore embodiments;

FIG. 2 is a block diagram illustrating an example application platformin accordance with one or more embodiments;

FIG. 3 is a diagram illustrating an example application programminginterface in accordance with one or more embodiments;

FIG. 4 is a diagram illustrating an example system including anapplication platform and a web page publisher including a social backenddatabase in accordance with one or more embodiments;

FIG. 5 is a diagram illustrating an example system including anapplication platform, a web page publisher, and a social backendpublisher in accordance with one or more embodiments;

FIG. 6 is a flow diagram illustrating an example process for providing acode segment to be embedded in a web page in accordance with one or moreembodiments;

FIG. 7 is a flow diagram illustrating an example process for receiving acode segment to be embedded in a web page in accordance with one or moreembodiments; and

FIG. 8 is a block diagram illustrating an example system comprising aplurality of computing devices coupled via a network in accordance withone or more embodiments.

Reference is made in the following detailed description to theaccompanying drawings, which form a part hereof, wherein like numeralsmay designate like parts throughout to indicate corresponding oranalogous elements. It will be appreciated that for simplicity and/orclarity of illustration, elements illustrated in the figures have notnecessarily been drawn to scale. For example, the dimensions of some ofthe elements may be exaggerated relative to other elements for clarity.Further, it is to be understood that other embodiments may be utilizedand structural and/or logical changes may be made without departing fromthe scope of claimed subject matter. It should also be noted thatdirections and references, for example, up, down, top, bottom, and soon, may be used to facilitate the discussion of the drawings and are notintended to restrict the application of claimed subject matter.Therefore, the following detailed description is not to be taken in alimiting sense and the scope of claimed subject matter defined by theappended claims and their equivalents.

DETAILED DESCRIPTION

In the following detailed description, numerous specific details are setforth to provide a thorough understanding of claimed subject matter.However, it will be understood by those skilled in the art that claimedsubject matter may be practiced without these specific details. In otherinstances, well-known methods, procedures, components and/or circuitshave not been described in detail.

Reference throughout this specification to “one embodiment” or “anembodiment” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment of claimed subject matter. Thus, theappearance of the phrases “in one embodiment” or “in an embodiment” invarious places throughout this specification are not necessarily allreferring to the same embodiment. Furthermore, the particular features,structures, or characteristics may be combined in any suitable manner inone or more embodiments.

The term “and/or” as referred to herein may mean “and”, it may mean“or”, it may mean “exclusive-or”, it may mean “one”, it may mean “some,but not all”, it may mean “neither”, and/or it may mean “both”, althoughthe scope of claimed subject matter is not limited in this respect.

As discussed above, it may be desirable for web page publishers toimplement application execution environments to allow users to runapplications via the publisher's web site, and to entice users to visitparticular web sites. Such application execution environments maycomprise “stand alone” environments, with the web page publisherperforming page assembly as well as performing back-end integration withdata storage, social information, etc.

However, web sites wishing to implement an application executionenvironment may typically develop their own application platform, or maypurchase and/or license an existing platform. Additionally, as alludedto above, the web site publisher may perform all of the data storageand/or social information storage/handling, as well as applicationexecution. Also, the web page publisher may desire to create a gallerywhereby a user may discover and/or browse applications. Thus,considerable resources may be committed to the creation and/or operationof application execution environments, making it relatively costlyand/or difficult for web page publishers to implement such environments.Further, the “stand alone” nature of the application executionenvironments may make it difficult for the environment developer toshare applications and/or application execution environments.Additionally, due to the proprietary nature of application executionenvironments, applications that are developed to operate in a particularexecution environment may not be compatible with other executionenvironments, thus negatively impacting the portability of suchapplications.

In an example embodiment, an application execution environment may bedivided among an application platform, a web page publisher, and a usercomputing platform. For this example embodiment, a code segment may beprovided to a web page publisher by an application platform. The codesegment may be embedded in a web page generated by the web pagepublisher, and the user computing platform may execute the code segmentat least in part in response to loading the web page. Further, for thisexample embodiment, a request for information related to one or more webapplications may be received by the application platform from the usercomputing platform. The user computing platform may make the request atleast in part in response to executing the code segment. The applicationplatform may provide information related to the one or more webapplications to the user computing platform.

In this example embodiment, the application platform may provideso-called “back-end” services such as data storage, applicationdevelopment, and/or page assembly, as well as provide-social back-enddatabase information, for just a few examples of services that may beprovided. Thus, the web site publisher may be relieved of the burden ofdirectly providing these services, and the cost and/or overhead ofdeveloping and/or maintaining the application execution environment maybe reduced. Additional embodiments are discussed more fully below.

FIG. 1 is a diagram illustrating an example system including anapplication platform 110 and a web page publisher 120. The system forthis example also comprises a user computing platform 130. Applicationplatform 110, web page publisher 120, and user computing platform 130for this example may be coupled to each other by way of a network 150.For this example embodiment, network 150 may comprise the Internet,although the scope of claimed subject matter is not limited in thisrespect.

The Internet comprises a worldwide system of computer networks and is apublic, self-sustaining facility that is accessible to tens of millionsof people worldwide. The most widely used part of the Internet is theWorld Wide Web, often abbreviated “WVWW” or simply referred to as just“the web”. The web is an Internet service that organizes informationthrough the use of hypermedia. The HyperText Markup Language (“HTML”) istypically used to specify the contents and format of a hypermediadocument (e.g., a web page). The Extensible Markup Language (XML) mayalso be used to specify the contents and format of a web page. As usedherein, a web site may refer to a collection of related web pages. Theterm “web page” as used herein may relate to any electronic documentthat may be accessed via a network such as the Internet. As alluded toabove, in one or more embodiments, web pages for an example embodimentmay comprise documents coded using one or more markup languages, suchas, for example, HTML and/or XML, although the scope of claimed subjectmatter is not limited in this respect.

User computing platform 130 for this example embodiment may comprise aprocessor (not shown) that may execute instructions, including executinginstructions related to a web browser 132. Web browser 132 for thisexample may comprise a conventional web browser to be executed by usercomputing platform 130 to allow a user to access and view web pages fromacross the Internet, including pages published by web page publisher120. To view a page published by web page publisher 120, browser 132 maycause the page to be downloaded from web page publisher 120 to usercomputing platform 130, where the page may be displayed to the user. Aweb page may be identified by a Uniform Resource Identifier (URI) suchas, for example, a Uniform Resource Locator (URL) associated with theweb page.

For this example embodiment, web page publisher 120 may desire toimplement an application execution environment on a web page. Forexample, web page publisher 120 may desire to provide a game applicationfor use by one or more users across the Internet in the hopes that thegame application may entice users to visit a web site. Applicationplatform 110 may have stored thereon instructions implementing thedesired application, and may further comprise a code segment associatedwith the desired application. Application platform 110 may transmit thecode segment to web page publisher 120. For this example, the codesegment may comprise instructions related to the application, which, forthis example, may comprise the game application, although the scope ofclaimed subject matter is not limited in this respect. For anembodiment, the code segment may comprise Javascript instructions toimplement the application. Javascript is a scripting language that maybe embedded in an electronic document, such as, for example, an HTMLbased document. Although the example embodiments described hereinutilize Javascript to implement applications, Javascript is merely anexample of type of code that may be used to implement an application,and the scope of claimed subject matter is not limited in this respect.For example, for one or more additional embodiments, the code segmentmay comprise code implemented in PHP such as, for example, PHP release5.2.6, although the scope of claimed subject matter is not limited inthis respect. PHP is another example of a scripting language that may beembedded into an electronic document, such as an HTML document, forexample, although the scope of claimed subject matter is not limited inthis respect.

For one or more embodiments, the code segment may be embedded in one ormore web pages by web page publisher 120. One such web page is labeledpage 122 in FIG. 1. Web page 122 may include an area on the page onwhich one or more applications may be run. The application area may bereferred to as a “DropZone” in one or more embodiments, although thescope of claimed subject matter is not limited in this respect. Further,the code segment may be referred to as a “Droplet”, such as, forexample, Droplet 125 of FIG. 1, and may comprise instructions related tothe one or more applications as well as instructions that may beutilized to implement the application execution area (dropzone) on webpage 122. As used herein, the term “code segment” is meant to includeone or more instructions used to implement an application execution areain an electronic document, such as, for example a web page. Also, asused herein, the terms “code segment” and “Droplet” are interchangeable.

User computing platform 130 may, via browser 132, request theaforementioned web page 122 with the embedded droplet 125 from web pagepublisher 120. At least in part in response to receiving web page 122,browser 132 may execute the embedded code segment. The code segment mayinclude instructions that may direct user computing platform 130 tocommunicate with application platform 110, for an example embodiment.For example, the execution of droplet 125 may direct user computingplatform 130 to request information related to the application fromapplication platform 110. Application platform 110 may, at least in partin response to receiving the request, provide the information to usercomputing platform 130, which may in turn utilize the information in theexecution of the droplet. The information related to the application maycomprise any of a wide range of information types, including, but notlimited to, social backend information, user profile information,assembled pages, executable code, application configuration information,information related to the “look and feel” of the application, etc.

As described above, a droplet may be associated with one or moreapplications. For one embodiment, the droplet may direct user computingplatform 130 to communicate with application platform 110 in order toimplement the one or more applications. Thus, web page publisher 120 mayprovide the one or more applications to user computing platform 130, butdoes not incur the overhead of providing application services, such asdata storage/transfer and application execution, as these services areprovided by application platform 110. For one or more embodiments,droplet 125 may comprise relatively few instructions, perhaps merely oneor a few lines of code in some examples, and the bulk of the applicationprocessing responsibilities may be performed by application platform110. In this manner, web page publisher 120 may distribute anapplication such as the application associated with droplet 125 withrelative ease, due to the relatively small size of the droplet. Further,the small size of the droplet may allow an application developer towidely disseminate the application to a wide range of web pagepublishers, if desired. Web page publishers may be enticed to includethe application in their web pages because of the relatively lowoverhead associated with embedding the code segment, and because the“heavy lifting” of the application execution and/or datatransfer/storage associated with the application is handled byapplication platform 110.

For one or more embodiments, the one or more applications associatedwith droplet 125 may be largely executed by application platform 110,with relatively little processing performed by user computing platform130. For one example embodiment, application platform 110 may receivekeystroke and/or pointing device information from user computingplatform 130, and in response may assemble appropriate pages ofjavascript code to be executed by browser 132. Compute-intensiveoperations may be performed by application platform 110, therebyrelieving user computing platform 130 of much of the burden of executingthe one or more applications, for an example embodiment. Browser 132 forthis example may receive the assembled pages of javascript code and mayrun the code using a javascript interpreter coupled with browser 132.The application may be displayed by browser 132 in the web page'sdropzone. Thus, the overhead incurred by user computing platform 130 inexecuting the one or more applications is relatively small. Further,because web page publisher 120 is not involved in the transfer of theassembled javascript pages, web page publisher 120 does not incur a loadother than initially delivering web page 122 including droplet 125 touser computing platform 130.

For one or more other embodiments, user computing platform 130 may bemore involved in the execution of the application than was the case inthe previous example embodiments. The droplet and its associated one ormore applications may be architected in a manner to allocate executionresponsibilities in any way that may be advantageous.

FIG. 2 is a block diagram illustrating example application platform 110in more detail. Application platform 110 may comprise a computingplatform including one or more processors (not shown). Applicationplatform 110 may comprise a social backend database 113 that may storesocial information that may be used in connection with one or moreapplications. Social information may comprise any of a wide range ofinformation types. Some examples of social information may include, butare not limited to, user profile information, friends lists for a numberof users, game scores and/or progress information, lists of visited websites, information regarding user browsing behaviors, informationregarding user's interests, etc. Of course, these are merely examples ofsocial information, and the scope of claimed subject matter is notlimited in this regard.

Application platform 110 may execute instructions that may implement anapplication programming interface (API) 300, as well as a software stackcomprising an application layer 115, a batch layer 117, and an assemblylayer 119. Application layer 115 may comprise instructions that, ifexecuted, direct application platform 110 to generate one or moreapplications. Any of a wide range of application types may beimplemented, and any number of applications may be implemented. Examplesof application types that may be implemented may include, but are notlimited to, fantasy sports games, word processors, spreadsheetcalculators, card games, board games, financial applications, musicalcomposition and notation, educational applications, language studyapplications, etc., to name but a few. Of course, these are merelyexamples of application types, and the scope of claimed subject matteris not limited in these respects. Also, for one or more embodiments, theone or more applications to be implemented may be specified by a webpage publisher and/or by a user, discussed more fully below.

For one or more embodiments, a gallery application may be providedthrough the dropzone. The gallery application may allow a user to selectone or more additional applications to be displayed in the dropzone.Also, web page publisher 120 may specify ranges of applications to beincluded in the gallery application, as discussed more fully below. Inthis manner, a web page publisher may specify one or more applicationsto be made available to users, and users may select one or more of thoseapplications to be displayed in the dropzone.

Batch layer 117 may comprise instructions that, if executed, may batchtogether the one or more applications provided by application layer 115.Assembly layer 119 may comprise instructions that, if executed, directapplication platform 110 to assemble one or more pages of code accordingto the batched one or more applications for delivery to user computingplatform 130. For this example, the pages of code may comprisejavascript code, although the scope of claimed subject matter is notlimited in this respect.

Further for this example embodiment, web page publisher 120 maycommunicate with application platform 110 by way of API 300, describedin more detail below. Communications may take place through droplet 125,for this example embodiment. That is, droplet 125 may include code thatif executed may communicate provide programming hooks for web pagepublisher 120 in order for web page publisher 120 to make a variety ofrequests of application platform 110.

FIG. 3 is a diagram illustrating an example embodiment of API 300. Forone or more embodiments, the APIs described herein may comprise“restful” APIs. A “restful” API may refer to any relatively simpleinterface which may transmit domain-specific data over hypertexttransfer protocol (HTTP) without an additional messaging layer, for oneexample embodiment. Restful APIs may be characterized, at least in part,by their simplicity. Of course, a restful API is merely an example, andthe scope of claimed subject matter is not limited in this respect. Forthis example embodiment, API 300 may comprise several sub-APIs. Forexample, API 300 may comprise a generator API 310, a gallery API 320, apublisher dropzone API 330, and an analytics API 340. In an embodiment,generator API 310 may comprise an API through which web page publisher120 may request one or more applications to be included in its dropzone.Note again that any number of applications may be included in a dropzonefor one or more embodiments. Gallery API 320 for an embodiment maycomprise a read-only API through which web publisher 120 may receiveinformation regarding which applications may be included in the dropzonefor a particular web site. In other embodiments, Gallery API 320 may notbe implemented as read-only, and may permit communication from the webpage publisher, discussed more fully below. Also, publisher dropzone API330 for this example may comprise an API through which web publisher 120may specify various aspects of its dropzone including, but not limitedto, specific applications to be included in the dropzone as well ascustomization parameters. The customization parameters for this examplemay comprise parameters that specify the “look and feel” of a web page'sdropzone. The look and feel aspects of a dropzone may include apresentation layer that may comprise a skin as well as a menu system,which, for an embodiment may be referred to as a “chrome” architecture.

For one or more embodiments, Gallery API 320 may provide the web pagepublisher with an interface to be able to specify to applicationplatform 110 ranges of applications to be made available to end users.Application platform 110 may provide a gallery of applications within adropzone that may be browsed by a user, and the user may be allowed toselect from the gallery one or more applications to be displayed in thedropzone. For one or more embodiments, web page publisher 120 mayspecify lists of applications approved for inclusion in the galleryprovided to the user, and/or may specify lists of applications that arenot approved for inclusion. In other words, web page publisher maywhite-list one or more applications for inclusion in the galleryprovided to the user, and/or may black-list one or more applicationsthat are not to be included in the gallery provided to the user. Webpage publisher 120 may specify the ranges of applications to includeand/or to exclude from the gallery provided to the user in one or moreembodiments by specifying ranges of applications based on one or morecharacteristics of the applications. For example, web page publisher mayspecify that applications developed by a specific entity be included inthe gallery, or may specify that all available applications related to aparticular subject matter by excluded from the gallery. Othercharacteristics that web page publisher 120 may use to specify ranges ofapplications to be included in the gallery presented to the user mayinclude, but are not limited to, application name, applicationdeveloper, language, user location, category, application rankings,and/or any other metadata type that may be associated with anapplication. Of course, the above is merely one example of a techniquefor allowing a web page publisher to specify applications to be madeavailable to users, and the scope of claimed subject matter is notlimited in these respects.

API 300 may also comprise an analytics API 340 through which webpublisher 120 may request various statistics regarding a dropzone. Forexample, web publisher 120 may request information related to theperformance of one or more applications, as well as informationregarding which is the more popular application among a number ofapplications, to name just a couple of examples. Of course, other typesof information may be made available through the analytics API in one ormore embodiments. It should be noted that for one or more embodiments,web publisher 120 may access API 300 through droplet 125, and that forone or more embodiments there may be no other paths through which webpublisher 120 may access API 300.

In a further aspect, for one or more example embodiments, a dropzone maygenerate discoverable URLs for one or more views of an application,wherein the URLs may include the domain of the web site in which thedropzone is embedded. In this manner, a view of a particular applicationaccessed through one web page publisher and a view of that particularapplication accessed through a different web page publisher would haveunique URLs. For one or more embodiments, as a user navigates from pageto page within an application displayed in the dropzone, unique URLs maybe generated for those pages. In embodiments that do not generate URLsfor pages of an application, all pages of the application may beidentified by a single URL, and there would be no way to uniquelyidentify individual pages of an application. Unique URLs for the variouspages of an application may make it easier to allow a user to navigatearound an application by using a browser's “back” and/or “forward”buttons, and may allow for the bookmarking of individual pages. Also, inone or more embodiments, the generation of discoverable URLs may also beused advantageously in advertising and/or other monetization operations.Of course, these are merely examples of how URLs may be associated withan application and of how such URLs may be utilized, and the scope ofclaimed subject matter is not limited in these respects.

FIG. 4 is a diagram illustrating an example system including anapplication platform 410 and a web page publisher 420 including a socialbackend database 427. Unlike the embodiments described above where thesocial backend database is maintained by an application platform, webpublisher 420 comprises the social backend database. Other aspects ofthe system of FIG. 4 may be similar to those described above inconnection with the embodiments illustrated in FIG. 1. Web pagepublisher 420 comprises a web page 422 that comprises an embeddeddroplet 425. A user computing platform 430 comprises a browser 432. Webpage publisher 420, user computing platform 430, and applicationplatform 410 may communicate with each other by way of a network 450which, for this example, comprises the Internet. Of course, the systemof FIG. 4 is merely an example embodiment, and other systemconfigurations are possible.

For this example embodiment, social backend database 427 is stored atweb page publisher 420. Such an arrangement may be advantageous if theweb page publisher has social backend information that may be of valueif included in an application. For an example, consider a web site thatmaintains friends lists for their users. The web publisher may desire toput those friends lists to work in one or more dropzone applications. Todo so, for one embodiment, the social backend information may betransmitted by web page publisher 420 to application platform 410 inorder to allow application platform 410 to incorporate the socialbackend information in the assembled javascript pages, which may betransmitted to user computing platform 430 through droplet 425. In suchan embodiment, hooks may be provided in droplet 425 that would allow webpage publisher 420 to monitor events as user computing platform 430 andapplication platform 410 communicate with each other through the dropletso that appropriate backend information may be provided. Of course, thisis merely one example for how social backend information may beprocessed, and the scope of claimed subject matter is not limited inthis respect.

FIG. 5 is a diagram illustrating an alternative example systemcomprising an application platform 510, a web page publisher 520, and asocial backend publisher 540. The example system of FIG. 5 alsocomprises a user computing platform 530. A network 550 may providecommunication paths among social backend publisher 540, web pagepublisher 520, user computing platform 530, and application platform510. User computing platform 530 for this example comprises a browser532. The system of FIG. 5 for this example embodiment may be similar inmany respects to the systems described above in connection with FIGS. 1and 4. However, for one or more embodiments, a third-party socialbackend publisher may provide social backend information for one or moreapplications. This is in contrast to examples described above where thesocial backend information is provided by either the applicationplatform and/or by the web page publisher. In this example embodiment,social backend publisher 540 may provide social information from adatabase 547 to application platform 510 in order for platform 510 toincorporate the social information in assembled javascript pages to betransmitted to user computing platform 530. With this examplearrangement, social information from third parties, that is, from anentity other than web publisher 520 or application platform 510, may beput to advantageous use in one or more dropzone applications.

Other embodiments may employ combinations of the above exampleconfigurations for social backend databases. For example, embodimentsare possible where social information may be provided by any combinationof one or more of the web page publisher, the application platform,and/or the third party social information publisher.

FIG. 6 is a flow diagram illustrating an example process for providing acode segment to be embedded in a web page in accordance with one or moreembodiments. At block 610, a code segment, or droplet, may be providedto a web page publisher. The code segment is to be embedded in a webpage by the web page publisher, and the code segment is to be executedon a user computing platform. At block 620, a request for informationmay be received from the user computing platform. The request forinformation may be related to one or more web applications. The requestmay be made at least in part in response to the user computing platformexecuting the code segment. At block 630, information related to the oneor more web applications may be provided to the user computing platform.Embodiments in accordance with claimed subject matter include more than,less than, or all of block 610-630. Further, the order of blocks 610-630is merely an example order, and the scope of claimed subject matter isnot limited in this respect.

FIG. 7 is a flow diagram illustrating an example process for receiving acode segment to be embedded in a web page in accordance with one or moreembodiments. At block 710, a code segment may be received from anapplication developer, wherein the web application is to be executed bya user computing platform. At block 720, a web page comprising the codesegment may be generated, and at block 730, the web page may betransmitted to the user computing platform, wherein the user computingplatform is to request information related to the code segment form abackend information publisher in response to the user computer platformexecuting the code segment, and wherein the user computing platform isto receive information related to the code segment from the backendinformation publisher. Embodiments in accordance with claimed subjectmatter include more than, less than, or all of block 710-730. Further,the order of blocks 710-730 is merely an example order, and the scope ofclaimed subject matter is not limited in this respect.

FIG. 8 is a schematic diagram illustrating an exemplary embodiment of acomputing environment system 800 that may include one or more devicesconfigurable to implement techniques and/or processes described above inconnection with dropzones and/or droplets and/or web applicationsdiscussed above in connection with FIGS. 1-7, for example. System 800may include, for example, a first device 802, a second device 804, and athird device 806, which may be operatively coupled together through anetwork 808.

First device 802, second device 804 and third device 806, as shown inFIG. 8, may be representative of any device, appliance or machine thatmay be configurable to exchange data over network 808. By way of examplebut not limitation, any of first device 802, second device 804, or thirddevice 806 may include: one or more computing devices and/or platforms,such as, e.g., a desktop computer, a laptop computer, a workstation, aserver device, or the like; one or more personal computing orcommunication devices or appliances, such as, e.g., a personal digitalassistant, mobile communication device, or the like; a computing systemand/or associated service provider capability, such as, e.g., a databaseor data storage service provider/system, a network serviceprovider/system, an Internet or intranet service provider/system, aportal and/or search engine service provider/system, a wirelesscommunication service provider/system; and/or any combination thereof.

Similarly, network 808, as shown in FIG. 8, is representative of one ormore communication links, processes, and/or resources configurable tosupport the exchange of data between at least two of first device 802,second device 804, and third device 806. By way of example but notlimitation, network 808 may include wireless and/or wired communicationlinks, telephone or telecommunications systems, data buses or channels,optical fibers, terrestrial or satellite resources, local area networks,wide area networks, intranets, the Internet, routers or switches, andthe like, or any combination thereof. As illustrated, for example, bythe dashed lined box illustrated as being partially obscured of thirddevice 806, there may be additional like devices operatively coupled tonetwork 808.

It is recognized that all or part of the various devices and networksshown in system 800, and the processes and methods as further describedherein, may be implemented using or otherwise include hardware,firmware, software, or any combination thereof.

Thus, by way of example but not limitation, second device 804 mayinclude at least one processing unit 820 that is operatively coupled toa memory 822 through a bus 828.

Processing unit 820 is representative of one or more circuitsconfigurable to perform at least a portion of a data computing procedureor process. By way of example but not limitation, processing unit 820may include one or more processors, controllers, microprocessors,microcontrollers, application specific integrated circuits, digitalsignal processors, programmable logic devices, field programmable gatearrays, and the like, or any combination thereof.

Memory 822 is representative of any data storage mechanism. Memory 822may include, for example, a primary memory 824 and/or a secondary memory826. Primary memory 824 may include, for example, a random accessmemory, read only memory, etc. While illustrated in this example asbeing separate from processing unit 820, it should be understood thatall or part of primary memory 824 may be provided within or otherwiseco-located/coupled with processing unit 820.

Secondary memory 826 may include, for example, the same or similar typeof memory as primary memory and/or one or more data storage devices orsystems, such as, for example, a disk drive, an optical disc drive, atape drive, a solid state memory drive, etc. In certain implementations,secondary memory 826 may be operatively receptive of, or otherwiseconfigurable to couple to, a computer-readable medium 840.Computer-readable medium 840 may include, for example, any medium thatcan carry and/or make accessible data, code and/or instructions for oneor more of the devices in system 800.

Second device 804 may include, for example, a communication interface830 that provides for or otherwise supports the operative coupling ofsecond device 804 to at least network 808. By way of example but notlimitation, communication interface 830 may include a network interfacedevice or card, a modem, a router, a switch, a transceiver, and thelike.

Second device 804 may include, for example, an input/output 832.Input/output 832 is representative of one or more devices or featuresthat may be configurable to accept or otherwise introduce human and/ormachine inputs, and/or one or more devices or features that may beconfigurable to deliver or otherwise provide for human and/or machineoutputs. By way of example but not limitation, input/output device 832may include an operatively configured display, speaker, keyboard, mouse,trackball, touch screen, data port, etc.

Embodiments claimed may include one or more apparatuses for performingthe operations herein. These apparatuses may be specially constructedfor the desired purposes, or they may comprise a general purposecomputing platform selectively activated and/or reconfigured by aprogram stored in the device. The processes and/or displays presentedherein are not inherently related to any particular computing platformand/or other apparatus. Various general purpose computing platforms maybe used with programs in accordance with the teachings herein, or it mayprove convenient to construct a more specialized computing platform toperform the desired method. The desired structure for a variety of thesecomputing platforms will appear from the description herein.

Embodiments claimed may include algorithms, programs and/or symbolicrepresentations of operations on data bits or binary digital signalswithin a computer memory capable of performing one or more of theoperations described herein. Although the scope of claimed subjectmatter is not limited in this respect, one embodiment may be inhardware, such as implemented to operate on a device or combination ofdevices, whereas another embodiment may be in software. Likewise, anembodiment may be implemented in firmware, or as any combination ofhardware, software, and/or firmware, for example. These algorithmicdescriptions and/or representations may include techniques used in thedata processing arts to transfer the arrangement of a computingplatform, such as a computer, a computing system, an electroniccomputing device, and/or other information handling system, to operateaccording to such programs, algorithms, and/or symbolic representationsof operations. A program and/or process generally may be considered tobe a self-consistent sequence of acts and/or operations leading to adesired result. These include physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical and/or magnetic signals capable of being stored,transferred, combined, compared, and/or otherwise manipulated. It hasproven convenient at times, principally for reasons of common usage, torefer to these signals as bits, values, elements, symbols, characters,terms, numbers and/or the like. It should be understood, however, thatall of these and/or similar terms are to be associated with theappropriate physical quantities and are merely convenient labels appliedto these quantities. In addition, embodiments are not described withreference to any particular programming language. It will be appreciatedthat a variety of programming languages may be used to implement theteachings described herein.

Likewise, although the scope of claimed subject matter is not limited inthis respect, one embodiment may comprise one or more articles, such asa storage medium or storage media. This storage media may have storedthereon instructions that if executed by a computing platform, such as acomputer, a computing system, an electronic computing device, a cellularphone, a personal digital assistant, and/or other information handlingsystem, for example, may result in an embodiment of a method inaccordance with claimed subject matter being executed, for example. Theterms “storage medium” and/or “storage media” as referred to hereinrelate to media capable of maintaining expressions which are perceivableby one or more machines. For example, a storage medium may comprise oneor more storage devices for storing machine-readable instructions and/orinformation. Such storage devices may comprise any one of several mediatypes including, but not limited to, any type of magnetic storage media,optical storage media, semiconductor storage media, disks, floppy disks,optical disks, CD-ROMs, magnetic-optical disks, read-only memories(ROMs), random access memories (RAMs), electrically programmableread-only memories (EPROMs), electrically erasable and/or programmableread-only memories (EEPROMs), flash memory, magnetic and/or opticalcards, and/or any other type of media suitable for storing electronicinstructions, and/or capable of being coupled to a system bus for acomputing platform. However, these are merely examples of a storagemedium, and the scope of claimed subject matter is not limited in thisrespect.

The term “instructions” as referred to herein relates to expressionswhich represent one or more logical operations. For example,instructions may be machine-readable by being interpretable by a machinefor executing one or more operations on one or more data objects.However, this is merely an example of instructions, and the scope ofclaimed subject matter is not limited in this respect. In anotherexample, instructions as referred to herein may relate to encodedcommands which are executable by a processor having a command set thatincludes the encoded commands. Such an instruction may be encoded in theform of a machine language understood by the processor. For anembodiment, instructions may comprise run-time objects, such as, forexample, Java and/or Javascript and/or PHP objects. However, these aremerely examples of an instruction, and the scope of claimed subjectmatter is not limited in this respect.

Unless specifically stated otherwise, as apparent from the discussionherein, it is appreciated that throughout this specification discussionsutilizing terms such as processing, computing, calculating, selecting,forming, enabling, inhibiting, identifying, initiating, receiving,transmitting, determining, estimating, incorporating, adjusting,modeling, displaying, sorting, applying, varying, delivering, appending,making, presenting, distorting and/or the like refer to the actionsand/or processes that may be performed by a computing platform, such asa computer, a computing system, an electronic computing device, and/orother information handling system, that manipulates and/or transformsdata represented as physical electronic and/or magnetic quantitiesand/or other physical quantities within the computing platform'sprocessors, memories, registers, and/or other information storage,transmission, reception and/or display devices. Further, unlessspecifically stated otherwise, processes described herein, withreference to flow diagrams or otherwise, may also be executed and/orcontrolled, in whole or in part, by such a computing platform.

It should also be understood that, although particular embodiments havejust been described, the claimed subject matter is not limited in scopeto a particular embodiment or implementation. For example, oneembodiment may be in hardware, such as implemented to operate on adevice or combination of devices, for example, whereas anotherembodiment may be in software. Likewise, an embodiment may beimplemented in firmware, or as any combination of hardware, software,and/or firmware, for example. Such software and/or firmware may beexpressed as machine-readable instructions which are executable by aprocessor. Likewise, although the claimed subject matter is not limitedin scope in this respect, one embodiment may comprise one or morearticles, such as a storage medium or storage media. This storage media,such as one or more CD-ROMs and/or disks, for example, may have storedthereon instructions, that when executed by a system, such as a computersystem, computing platform, or other system, for example, may result inan embodiment of a method in accordance with the claimed subject matterbeing executed, such as one of the embodiments previously described, forexample. As one potential example, a computing platform may include oneor more processing units or processors, one or more input/outputdevices, such as a display, a keyboard and/or a mouse, and/or one ormore memories, such as static random access memory, dynamic randomaccess memory, flash memory, and/or a hard drive, although, again, theclaimed subject matter is not limited in scope to this example.

In the preceding description, various aspects of claimed subject matterhave been described. For purposes of explanation, specific numbers,systems and/or configurations were set forth to provide a thoroughunderstanding of claimed subject matter. However, it should be apparentto one skilled in the art having the benefit of this disclosure thatclaimed subject matter may be practiced without the specific details. Inother instances, well-known features were omitted and/or simplified soas not to obscure claimed subject matter. While certain features havebeen illustrated and/or described herein, many modifications,substitutions, changes and/or equivalents will now occur to thoseskilled in the art. It is, therefore, to be understood that the appendedclaims are intended to cover all such modifications and/or changes asfall within the true spirit of claimed subject matter.

What is claimed is:
 1. A method, comprising: providing one or moresignals indicative of a code segment from a web application platform toa web page publisher, wherein the code segment is embeddable in a webpage by the web page publisher and wherein the code segment furthercomprises code executable by a user computing platform to direct theuser computing platform to request information related to one or moreweb applications from the web application platform, wherein the webapplication platform is separate from the web page publisher; receivingone or more signals indicative of a request for information related tothe one or more web applications at the web application platform fromthe user computing platform at least in part in response to the usercomputing platform executing the code segment; and providing one or moresignals indicative of information related to the one or more webapplications from the web application platform to the user computingplatform.
 2. The method of claim 1, wherein said providing the one ormore signals indicative of the code segment comprises providing one ormore signals indicative of code to provide a gallery of applications toa user to allow the user to select from among one or more webapplications, the web application platform to transmit executable coderelated to the selected one or more web applications to the usercomputing platform to be executed by the user computing platform.
 3. Themethod of claim 2, wherein said providing the one or more signalsindicative of the code segment further comprises providing one or moresignals indicative of code to allow the user to specify a look and/orfeel of the executed code segment.
 4. The method of claim 1, whereinsaid providing the one or more signals indicative of the code segmentcomprises providing one or more signals indicative of a code segmentcompliant with a Javascript specification.
 5. The method of claim 1,wherein said providing the one or more signals indicative of theinformation related to the one or more web applications furthercomprises assembling information to be rendered at the user computingplatform in connection with executing the code segment.
 6. The method ofclaim 5, wherein said assembling information to be rendered comprisesassembling social backend information related to the one or more webapplications.
 7. The method of claim 6, wherein the social backendinformation comprises one or more of a friends list, a user profile,and/or an image.
 8. The method of claim 5, wherein said assemblinginformation to be rendered at the user computing platform in connectionwith executing the code segment comprises assembling a batch of one ormore web applications associated with a specified user identification.9. The method of claim 8, wherein said assembling the batch of one ormore web applications comprises assembling a batch of one or more of agame application, a fantasy sports application, a financial application,and/or a word processing application.
 10. The method of claim 1, furthercomprising receiving one or more signals indicative of a specificationfor the code segment at the web application developer platform, andwherein said providing the one or more signals indicative of the codesegment comprises providing the one or more signals indicative of thecode segment at least in part in response to said receiving the one ormore signals indicative of the specification for the code segment. 11.The method of claim 10, wherein said receiving the one or more signalsindicative of the specification for the code segment comprises receivingone or more signals indicative of a specification according to aspecified application programming interface.
 12. A method, comprising:receiving one or more signals indicative of a code segment at a web pagepublisher computing platform from a web application platform, whereinthe code segment comprises code executable by a user computing platformto request information related to one or more web applications from abackend information publisher, wherein the web application platform isseparate from the web page publisher; generating one or more signalsindicative of a web page at the web page publisher computing platform,the one or more signals indicative of the web page comprising one ormore signals indicative of the code segment; and transmitting the one ormore signals indicative of the web page from the web page publishercomputing platform to the user computing platform.
 13. The method ofclaim 12, wherein the backend information publisher comprises the webapplication platform.
 14. The method of claim 12, wherein saidtransmitting the one or more signals indicative of the web page to theuser computing platform comprises transmitting the one or more signalsindicative of the web page via an Internet in response to a userselecting a link pointing to the web page.
 15. The method of claim 12,wherein said receiving the one or more signals indicative of the codesegment further comprises receiving one or more signals indicative of acode segment comprising code to provide a gallery of applications to auser to allow the user to select from among one or more webapplications, the web application platform to transmit executable coderelated to the selected one or more web application to the usercomputing platform to be executed by the user computing platform. 16.The method of claim 15, wherein said receiving the one or more signalsindicative of the code segment comprises receiving one or more signalsindicative of a code segment comprising code to allow the user tospecify a look and/or feel of the executed code segment.
 17. The methodof claim 12, wherein said receiving the one or more signals indicativeof the code segment comprises receiving one or more signals indicativeof a code segment compliant with a Javascript specification.
 18. Themethod of claim 12, wherein said information related to the one or moreweb applications to be requested by the user computing platformcomprises information to be assembled at the backend informationpublisher, the assembled information to be rendered at the usercomputing platform in connection with executing the code segment. 19.The method of claim 18, wherein said assembled information to berendered comprises social backend information related to the one or moreweb applications.
 20. The method of claim 19, wherein the social backendinformation comprises one or more of a friends list, a user profile,and/or an image.
 21. The method of claim 19, wherein said assembledinformation to be rendered at the user computing platform in connectionwith executing code segment comprises a batch of one or more webapplications associated with a specified user identification.
 22. Themethod of claim 21, wherein said assembled batch of one or more webapplications comprises a batch of one or more of a game application, afantasy sports application, a financial application, and/or a wordprocessing application.
 23. The method of claim 12, further comprisingtransmitting one or more signals indicative of a specification for thecode segment from the web page publisher computing platform to the webapplication platform, and wherein said receiving the one or more signalsindicative of the code segment comprises receiving the one or moresignals indicative of the code segment at least in part in response tosaid transmitting the one or more signals indicative of thespecification for the code segment.
 24. The method of claim 23, whereinsaid transmitting the one or more signals indicative of thespecification for the code segment comprises transmitting one or moresignals indicative of a specification according to a specifiedapplication programming interface.
 25. An article, comprising: a storagemedium having stored thereon instructions executable by a computingplatform to: provide a code segment from a web application platform to aweb page publisher, wherein the code segment is embeddable in a web pageby the web page publisher and wherein the code segment further comprisescode executable by a user computing platform to direct the usercomputing platform to request information related to one or more webapplications from the web application platform, wherein the webapplication platform is separate from the web page publisher; receive arequest for information related to the one or more web applications fromthe user computing platform at the web application platform at least inpart in response to the user computing platform executing the codesegment; and provide information related to the one or more webapplications from the web application platform to the user computingplatform.
 26. The article of claim 25, wherein the storage medium hasstored thereon further instructions executable by the computing platformto provide the code segment at least in part by providing code toprovide a gallery of applications to a user to allow the user to selectfrom among one or more web applications, the web application platform totransmit executable code related to the selected one or more webapplications to the user computing platform to be executed by the usercomputing platform.
 27. The article of claim 26, wherein the storagemedium has stored thereon further instructions executable by thecomputing platform to provide the code segment at least in part byproviding code to allow the user to specify a look and/or feel of theexecuted code segment.
 28. The article of claim 25, wherein the storagemedium has stored thereon further instructions executable by thecomputing platform to provide the code segment at least in part byproviding a code segment compliant with a Javascript specification. 29.The article of claim 25, wherein the storage medium has stored thereonfurther instructions executable by the computing platform to provideinformation related to the one or more web applications at least in partby assembling information to be rendered at the user computing platformin connection with executing the code segment.
 30. The article of claim29, wherein the storage medium has stored thereon further instructionsexecutable by the computing platform to assemble information to berendered at the user computing platform in connection with executing thecode segment by assembling social backend information related to the oneor more web applications.
 31. The article of claim 30, wherein thesocial backend information comprises one or more of a friends list, auser profile, and/or an image.
 32. The article of claim 30, wherein thestorage medium has stored thereon further instructions executable by thecomputing platform to assemble information to be rendered at the usercomputing platform in connection with executing the code segment atleast in part by assembling a batch of one or more web applicationsassociated with a specified user identification.
 33. The article ofclaim 32, wherein the storage medium has stored thereon furtherinstructions executable by the computing platform to assemble the batchof one or more web applications at least in part by assembling a batchof one or more of a game application, a fantasy sports application, afinancial application, and/or a word processing application.
 34. Thearticle of claim 25, wherein the storage medium has stored thereonfurther instructions executable by the computing platform to: receive aspecification for the code segment; and provide the code segment byproviding the code segment at least in part in response to saidreceiving the specification for the code segment.
 35. The article ofclaim 34, wherein the storage medium has stored thereon furtherinstructions executable by the computing platform to receive aspecification for the code segment at least in part by receiving aspecification according to a specified application programminginterface.
 36. An article, comprising: a storage medium having storedthereon instructions executable by a computing platform to: receive acode segment at a web page publisher from a web application platform,wherein the code segment comprises code executable by a user computingplatform to request information related to one or more web applicationsfrom a backend information publisher, wherein the web applicationplatform is separate from the web page publisher; generate a web pagecomprising the code segment; and transmit the web page to the usercomputing platform.
 37. The article of claim 36, wherein the backendinformation publisher comprises the web application platform.
 38. Thearticle of claim 36, wherein the storage medium has stored thereonfurther instructions executable by the computing platform to transmitthe web page to the user computing platform at least in part bytransmitting the web page via an Internet in response to a userselecting a link pointing to the web page.
 39. The article of claim 38,wherein the storage medium has stored thereon further instructionsexecutable by the computing platform to receive the code segment atleast in part by receiving code to provide a gallery of applications toa user to allow the user to select from among one or more webapplications, the web application platform to transmit executable coderelated to the selected one or more web application to the usercomputing platform to be executed by the user computing platform. 40.The article of claim 39, wherein the storage medium has stored thereonfurther instructions executable by the computing platform to receive thecode segment at least in part by receiving code to allow the user tospecify a look and/or feel of the executed code segment.
 41. The articleof claim 36, wherein the storage medium has stored thereon furtherinstructions executable by the computing platform to receive the codesegment at least in part by receiving a code segment compliant with aJavascript specification.
 42. The article of claim 36, wherein saidinformation related to the one or more web applications to be requestedby the user computing platform comprises information to be assembled atthe backend information publisher, the assembled information to berendered at the user computing platform in connection with executing thecode segment.
 43. The article of claim 42, wherein said assembledinformation to be rendered comprises social backend information relatedto the one or more web applications.
 44. The article of claim 43,wherein the social backend information comprises one or more of afriends list, a user profile, and/or an image.
 45. The article of claim43, wherein said assembled information to be rendered at the usercomputing platform in connection with executing the code segmentcomprises a batch of one or more web applications associated with aspecified user identification.
 46. The article of claim 45, wherein saidassembled batch of one or more web applications comprises a batch of oneor more of a game application, a fantasy sports application, a financialapplication, and/or a word processing application.
 47. The article ofclaim 36, wherein the storage medium has stored thereon furtherinstructions executable by the computing platform to transmit aspecification for the code segment to the web application platform, andto receive the code segment at least in part in response to saidtransmitting the specification for the code segment.
 48. The article ofclaim 47, wherein the storage medium has stored thereon furtherinstructions executable by the computing platform to transmit thespecification for the code segment by transmitting the specificationaccording to a specified application programming interface.
 49. Anapparatus, comprising: means for providing a code segment from a webapplication platform to a web page publisher, wherein the code segmentis embeddable in a web page by the web page publisher and wherein thecode segment further comprises code executable by a user computingplatform to direct the user computing platform to request informationrelated to one or more web applications from the web applicationplatform, wherein the web application platform is separate from the webpage developer; means for receiving a request for information related tothe one or more web applications from the user computing platform atleast in part in response to the user computing platform executing thecode segment; and means for providing information related to the one ormore web applications to the user computing platform.
 50. An apparatus,comprising: means for receiving a code segment at a web page publisherfrom a web application platform, wherein the code segment comprises codeexecutable by a user computing platform to request information relatedto one or more web applications from a backend information publisher;means for generating a web page comprising the code segment; and meansfor transmitting the web page from the web page publisher to the usercomputing platform.